package ar.edu.unsam.algo3.plantasvszombies.homes

import ar.edu.unsam.algo3.plantasvszombies.dominio.JardinZen
import ar.edu.unsam.algo3.plantasvszombies.dominio.Planta
import ar.edu.unsam.algo3.plantasvszombies.dominio.jardinZen.ZenAcuatico
import ar.edu.unsam.algo3.plantasvszombies.dominio.jardinZen.ZenTerrestre
import java.util.List
import org.uqbar.commons.model.CollectionBasedHome
import org.uqbar.commons.utils.Observable

@Observable
class HomePlantas extends CollectionBasedHome<JardinZen> {
	new() {
		this.init
	}

	def void init() {

		//Nombre, Ataque, Defensa, Descripcion
		val zenAgua = new ZenAcuatico
		zenAgua.getPlantines += crearPlanta("Girasol", 10, 70, "Planta 10/70")
		zenAgua.getPlantines += crearPlanta("Semillero", 20, 70, "Planta 20/70")
		zenAgua.getPlantines += crearPlanta("Cactus", 10, 80, "Planta 10/80")
		val zenTierra = new ZenTerrestre
		zenTierra.getPlantines.add(crearPlanta("CactusCarnivoro", 30, 80, "Planta 30/80"))
		zenTierra.getPlantines.add(crearPlanta("Rosal", 10, 90, "Planta 10/90"))
		zenTierra.getPlantines.add(crearPlanta("RosalCarnivoro", 30, 90, "Planta 30/90"))
		create(zenTierra)
		create(zenAgua)
	}

	def Planta crearPlanta(String pNombre, Integer pAtaque, Integer pDefensa, String pDescripcion) {
		var planta = new Planta
		planta.nombre = pNombre
		planta.ataque = pAtaque
		planta.defensa = pDefensa
		planta.descripcion = pDescripcion
		planta
	}

	def List<JardinZen> getJardines() {
		allInstances
	}

	override protected getCriterio(JardinZen arg0) {
		null
	}

	override createExample() {
		//		new JardinZen
	}

	override getEntityType() {
		null
	}
}
